Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate use of initial increment/perturbation file from REPLAY/+03 ICs #3119

Open
wants to merge 107 commits into
base: develop
Choose a base branch
from

Conversation

NeilBarton-NOAA
Copy link
Contributor

Description

This PR is a continuation of the previous SFS PR. The use of initial perturbations/increments for ensemble long forecasts (e.g., SFS and GEFS) was missing from the previous PR because this option was included with the REPLAY_IC option.

In this PR, the REPLAY_IC option is now strictly for the +03 ICs, and the variables USE_ATM_ENS_PERTURB_FILES and USE_OCN_ENS_PERTURB_FILES are used for initialization with the initial perturbation/increment files used for SFS and GEFS reforecasting. This separation will also make it easier to remove the +03 IC optoin.

Type of change

  • Bug fix (fixes something broken)
  • New feature (adds functionality)
  • Maintenance (code refactor, clean-up, new CI test, etc.)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO
  • Does this change require an update to any of the following submodules? NO (If YES, please add a link to any PRs that are pending.)
    • EMC verif-global
    • GDAS
    • GFS-utils
    • GSI
    • GSI-monitor
    • GSI-utils
    • UFS-utils
    • UFS-weather-model
    • wxflow

How has this been tested?

I tested long forecast runs on hercules and multiple CI tests.

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have documented my code, including function, input, and output descriptions
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • This change is covered by an existing CI test or a new one has been added
  • Any new scripts have been added to the .github/CODEOWNERS file with owners
  • I have made corresponding changes to the system documentation if necessary

NeilBarton-NOAA and others added 30 commits July 2, 2024 15:04
Fix a bug in a variable check in the extractvars task where parenthesis in the variable name will prompt a false warning message.
Ice variables are extracted from the history files instead of the product files. This is necessary because there are certain ice variables that are needed that are only available in the history files and not the product files.
Add suggested patches to gefs_replay_ci
Shellcheck disable has been added. Also, f000 is skipped in extractvars for ocn and ice since there are no products for f000 for ocn and ice. This change will remove warning messages.
Comment on lines -15 to -18
cdate="${PDY}${cyc}"
if (( cdate < 2017072000 )); then
export NST_SPINUP=1
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious why this is being removed? No longer need?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ICs used for the reforecasting effort have NSST spun up.

Copy link
Contributor

@WalterKolczynski-NOAA WalterKolczynski-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of these changes impact all systems, including GFS and cycling. I want to make sure everyone agrees with them before continuing.

parm/config/gefs/config.base Show resolved Hide resolved
@WalterKolczynski-NOAA
Copy link
Contributor

@CatherineThomas-NOAA @JessicaMeixner-NOAA Would you or someone else on your teams please review the model setting changes that impact GFS to confirm the new settings are correct?

@JessicaMeixner-NOAA
Copy link
Contributor

@CatherineThomas-NOAA @JessicaMeixner-NOAA Would you or someone else on your teams please review the model setting changes that impact GFS to confirm the new settings are correct?

Thanks @WalterKolczynski-NOAA - We + @RuiyuSun will look into this and see what the impact is. Since it's not obvious what the changes are, we'll have to run a couple tests but will try to run those tomorrow.

@RuiyuSun
Copy link

RuiyuSun commented Dec 4, 2024

@CatherineThomas-NOAA @JessicaMeixner-NOAA Would you or someone else on your teams please review the model setting changes that impact GFS to confirm the new settings are correct?

Thanks @WalterKolczynski-NOAA - We + @RuiyuSun will look into this and see what the impact is. Since it's not obvious what the changes are, we'll have to run a couple tests but will try to run those tomorrow.

I don't know much about the parameters in the FV3. Could @KevinViner-NOAA help reviewing these changes (dddmp, hord_, kord_)? Thanks!

@CatherineThomas-NOAA @JessicaMeixner-NOAA Would you or someone else on your teams please review the model setting changes that impact GFS to confirm the new settings are correct?

Thanks @WalterKolczynski-NOAA - We + @RuiyuSun will look into this and see what the impact is. Since it's not obvious what the changes are, we'll have to run a couple tests but will try to run those tomorrow.

I checked the forecast_predet.sh in the hr.v4 version of the global workflow and didn't see this hord_dp

@CatherineThomas-NOAA @JessicaMeixner-NOAA Would you or someone else on your teams please review the model setting changes that impact GFS to confirm the new settings are correct?

Thanks @WalterKolczynski-NOAA - We + @RuiyuSun will look into this and see what the impact is. Since it's not obvious what the changes are, we'll have to run a couple tests but will try to run those tomorrow.

I don't know much about the dynamic parameters in FV3. Could @KevinViner-NOAA help to review the changes in these parameters? Thanks!

I checked the forecast_predet.sh in the hr.v4 but didn't see hord_dp being set? When this is added?

@yangfanglin
Copy link
Contributor

hord_dp is set to -5 for non-hydrostatic GFSv17/GEFSv13 apps and 10 for hydrostatic SFS app. The settings are correct. I believe @XiaqiongZhou-NOAA added the option for the hydrostatic case.

@yangfanglin
Copy link
Contributor

yangfanglin commented Dec 5, 2024

Well, appears there are changes been made to set hord_dp differently for mono and non_mono. @XiaqiongZhou-NOAA please check and confirm.

We used to have MONO defined in config.fcst. In the latest workflow I saw MONO is used in forecast_predet.sh but I do not see anywhere it is defined. The logics around the blocks near line 329 and line 359 then become problematic.

@XiaqiongZhou-NOAA
Copy link
Contributor

XiaqiongZhou-NOAA commented Dec 5, 2024

"MONO" and "TYPE" are a yaml variable for SFS and GEFS which are defined at ~ci/cases/yamls/sfs_defaults.yaml and parm/config/gefs/yaml/defaults.yaml, but they are not chargeable in GFS and defined in ~parm/config/gfs
/config.fcst

@JessicaMeixner-NOAA
Copy link
Contributor

Running the C48_S2SW CI test of the g-w, we get one configuration change in input.nml:

Original:
hord_dp = -5
PR:
hord_dp = 5

I don't think this is expected behavior based on the comments from @XiaqiongZhou-NOAA

I also tried to run the C96C48_hybatmDA CI test and am having trouble running that one for some reason. But first we can check on the change of hord_dp

fi
else # non-monotonic options
d_con=${d_con_nonmono:-"1."}
do_vort_damp=".true."
if [[ "${TYPE}" == "nh" ]]; then # non-monotonic and non-hydrostatic
hord_mt=${hord_mt_nh_nonmono:-"5"}
hord_xx=${hord_xx_nh_nonmono:-"5"}
hord_dp=${hord_xx_hydro_mono:-"-5"}
hord_dp=${hord_xx_nh_nonmono:-"-5"}
Copy link
Contributor

@XiaqiongZhou-NOAA XiaqiongZhou-NOAA Dec 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be changed to hord_dp=${hord_dp_nh_nonmono:-"-5"}.
Then add "export hord_dp_nh_nonmono=-5" in parm/config/gfs/config.fcst
I guess have to do the same for gefs/config.fcst.

Copy link
Contributor

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's my understanding that this code shouldn't be changing GFS configurations, but it currently is. Putting the "request change" until that is sorted out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants